\version "2.24.3"

#(set-default-paper-size '(cons (* 210 mm) (* 5000 mm)))

\header {
  tagline = #f
}

gtrOne = \relative {
  \once \override Staff.TimeSignature.stencil = ##f
  \key a \minor
  \tempo 4 = 124
  \partial 4 a'8 d, |
  \repeat volta 2 {
    \time 5/8
    f,4 d'8([ b eih)] |
    \time 7/8
    f,4 d'8([ b d)] a'[ d,] |
  }
  \key g \minor
  \time 5/8
  \repeat volta 2 {
    g,8 ees( d) r d |
    g8 ees( d) r d |
  }
}

gtrTwo = \relative {
  \once \override Staff.TimeSignature.stencil = ##f
  \key a \minor
  \tempo 4 = 124
  \partial 4 s4 |
  \repeat volta 2 {
    \time 5/8
    e8\glissando f \parenthesize \xNote a d\glissando e |
    \time 7/8
    e,8[\glissando f] \parenthesize \xNote a[ \harmonicsOn <d g>] \harmonicsOff d[\glissando e \harmonicsOn b'] \harmonicsOff |
  }
  \key g \minor
  \time 5/8
  \repeat volta 2 {
    g,8-. g-. d([ bes) \acciaccatura b'!8 a'] |
    g,8-. g-. d([ bes) \acciaccatura b'!8 a'] |
  }
}

bass = \relative {
  \once \override Staff.TimeSignature.stencil = ##f
  \key a \minor
  \tempo 4 = 124
  \partial 4 s4 |
  \repeat volta 2 {
    \time 5/8
    e,8([ f)] a r a |
    \time 7/8
    e8([ f)] a r a r g |
  }
  \key g \minor
  \time 5/8
  \repeat volta 2 {
    ees8[ ees] g r a, |
    ees'8[ ees] g r a, |
  }
}

kitOne = \drummode {
  \once \override Staff.TimeSignature.stencil = ##f
  \tempo 4 = 124
  \partial 4 s4 |
  \repeat volta 2 {
    \time 5/8
    cymc16 hh hh8 sn hh16 32 32 8 |
    \time 7/8
    cymc16[ hh hh8 sn] \tuplet 3/2 { hh16 16 16 16 16 16 } hh8[ hh] |
  }
  \time 5/8
  \repeat volta 2 {
    <hho cymc>8 hho <sn cymc> hh16 16 8 |
    cymc16 hh hh8 <sn cymc> hh16 16 16 16 |
  }
}

kitTwo = \drummode {
  \tempo 4 = 124
  \partial 4 s4 |
  \repeat volta 2 {
    \time 5/8
    bd8. bd16 r4 bd8 |
    \time 7/8
    bd8.[ bd16] r4 bd16 16 8[ 8] |
  }
  \time 5/8
  \repeat volta 2 {
    bd8 8 r4. |
    bd8. bd16 r4 bd8 |
  }
}

fullScore = <<
  \new Staff \with {
    midiInstrument = "electric guitar (clean)"
    midiPanPosition = #-1.0
  } {
    \clef "treble_8"
    \tag #'folded { \gtrOne }
    \tag #'unfolded { \unfoldRepeats \gtrOne }
  }

  \new Staff \with {
    midiInstrument = "electric guitar (jazz)"
    midiPanPosition = #1.0
  } {
    \clef "treble_8"
    \tag #'folded { \gtrTwo }
    \tag #'unfolded { \unfoldRepeats \gtrTwo }
  }

  \new Staff \with {
    midiInstrument = "electric bass (pick)"
    midiPanPosition = #0.0
  } {
    \clef "bass_8"
    \tag #'folded { \bass }
    \tag #'unfolded { \unfoldRepeats \bass }
  }

  \tag #'folded {
    \new DrumStaff \with { drumStyleTable = #weinberg-drums-style } <<
      \new DrumVoice { \voiceOne \kitOne }
      \new DrumVoice { \voiceTwo \kitTwo }
    >>
  }
  \tag #'unfolded {
    \new DrumStaff \with { drumStyleTable = #weinberg-drums-style } <<
      \new DrumVoice { \unfoldRepeats { \voiceOne \kitOne } }
      \new DrumVoice { \unfoldRepeats { \voiceTwo \kitTwo } }
    >>
  }
>>

\score {
  \removeWithTag #'unfolded
  \fullScore

  \layout {
    indent = 0

    \context {
      \Score
      \override Glissando.minimum-length = #4
      \override Glissando.springs-and-rods = #ly:spanner::set-spacing-rods
      \override Glissando.thickness = #2
    }

    \context {
      \StaffGroup
      \RemoveAllEmptyStaves
    }
  }
}

\score {
  \removeWithTag #'folded
  \fullScore

  \midi { }
}
